home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
polygo
/
polygo2.txt
< prev
next >
Wrap
Text File
|
1994-05-01
|
4KB
|
76 lines
PolyGone II by Jim Mack
PolyGone II is a revised and updated version of the PolyGone
program I originally wrote for VB1 in late 1991. This one was written
in VB2, and the EXE requires VBRUN200, but the source is compatible
with later versions as well.
PolyGone II is not copyrighted, and is free for your enjoyment.
Its sole purpose is to amuse and divert. You're encouraged to play with
the code, and if you come up with any interesting variations, please
pass them back to me.
This version adds the ability to control a few of the drawing and
erasing parameters, and offers several optional erasure patterns.
-----------------------------------------------------------------------
To get to the parameters, DOUBLE-click on the PolyGone II form
(single-click simply clears the form).
-----------------------------------------------------------------------
The parameters (and the form's location and size) are saved in
POLYGONE.INI, which will be located in the same directory as the EXE.
Because we look -only- in App.Path for the INI, if you compile the
program to a directory other than the one where VB.EXE is located,
you'll wind up with two copies of the INI file... no big deal.
For the most part the parameters are self-explanatory, and there's
nothing you can hurt by just fooling around.
The Erase Options control how, and how often, the screen is erased.
Erasing every so often help avoid too much screen clutter. The original
version always erased the screen by drawing a large, dense polygon in
the form's background color. This option is still available, and is
listed as the last choice, "Sweep". It's off by default. When an
option is checked, it will be among the methods from which the next
erasure is randomly chosen.
The text boxes "Allow After" and "Force After" show the number of
polygons which can accumulate before an erase. "Force" should be higher
than "Allow"... when the number is greater than Allow, but less than
Force, the screen may be erased at any time. Once it gets to Force, it
will be erased regardless.
The "Sparkles" box selects whether each erased region is first
cleared to White, then to Black. Its effect is most obvious on the
Random erase, but it does affect the other patterns too, except for
Sweep (the large dense polygon) and Snap (which is just a simple CLS).
The Draw options mostly control how quickly the polygons draw (Line
Delay), and how much time elapses between polygons (Draw Delay). On a
relatively slow (386/20) machine, these can be set very low, or to zero.
On faster machines you'll probably want to set Line Delay to something
like 30-100 and Draw Delay to 1000-9000. These are arbitrary units and
have no relation to clock ticks, microseconds, etc, and higher values
mean more delay.
If the "Draw In Order" selection is checked, the lines forming the
polygons will always be drawn in anticlockwise fashion, seeming to
'circle around' as they draw. Otherwise, the connecting lines are drawn
in a random order, with in-order drawing one of the random events.
The "Thick Below" text box determines which polygons are drawn with
thick lines. The unit here is the 'order' of the polygon... how many
vertices it has. Normally, the line width is 1 pixel for all orders of
polygon. You can choose 2-pixel lines for the lower-order polygons by
selecting a value here. Again, you may find that for slower machines
you want to set this value to a low number, say 4 to 6, and for faster
machines a larger value may be better. You probably don't want to draw
all thick lines, since higher-order polygons will be too dense.
Have fun, and if you have any questions or comments, please feel
free to contact me on CIS at 76630,2012, on Bix or America Online as
"jsmack" and via Internet at 76630.2012@compuserve.com. I really would
like to hear from anyone who makes a change (such as designing a new
Erase method, etc).